An application program interface (API—and sometimes spelled application programming interface) is the specific method prescribed by a computer operating system or by an application program by which a programmer writing an application program can make requests of the operating system or another application. An API can be contrasted with a graphical user interface or a command interface (both of which are direct user interfaces) as interfaces to an operating system or a program.
Each particular operating system has its own specific set of API's. Every time a developer wishes to create a new application, the developer must code to the API's of the operating system and any applications with which the new application will interact. For example, a new application for use on a system running MICROSOFT® Windows must code to the Windows API's. Thus, the developer must be well-versed in coding for the particular operating system.
However, even a seasoned programmer may occasionally make a mistake when coding to particular API's. An error in coding to even one API may cause the new application to malfunction or not even run at all. Thus, great care must be exercised when coding to the API's of the particular operating system. This takes a great amount of time. If there is an error, days and even weeks can be spent debugging the code.
The problem is compounded when a developer wishes to create a new application that interacts with another application that has its own API's. In this scenario, the developer must be versed in both types of API's: the operating system-specific API's and the application-specific API's. If the new application does not run, the developer may have to spend precious time testing the coding to both types of API's.
What is needed is a way to create applications without requiring coding to native API's, thereby significantly reducing development time from days to a few hours.